Skip to content

Reload projects changed on disk - #46

Open
Maaxion wants to merge 1 commit into
BenchUp3D:mainfrom
Maaxion:reload-on-external-change
Open

Maaxion wants to merge 1 commit into
BenchUp3D:mainfrom
Maaxion:reload-on-external-change

Conversation

@Maaxion

@Maaxion Maaxion commented Nov 13, 2026 •

Copy link
Copy Markdown
Contributor

One-line description

Reload a project in the desktop app when its file changes on disk, and ask first when there are unsaved changes.

This allows you to keep a model open while an LLM agent works on it in paralell. When changes are detected, the app asks if you want to reload from disk or override.

Changes in detail

  • A clean project reloads from disk and keeps the current camera. Unsaved changes show a prompt with "Keep my changes" and "Reload from disk".
  • The file is checked about once a second while the app is idle. A change needs a new modification stamp and different content, so touching a file or rewriting identical bytes does nothing.
  • A reload waits until a viewport gesture, modeling or text/rename edit finishes.
  • A reload that reads a partly written file keeps the current document and retries on the next change.
  • A reload does not reorder Recent Projects.
  • Desktop only. The web build is unchanged.
  • Useful alongside tools that edit .bup files externally.

Testing

  • Seven new tests in project_tests.rs: reload of a clean project, prompt with unsaved changes, own save not reloading, unreadable write retry, one-second check interval, same-content rewrite ignored, and deferral during a viewport drag.
  • Ran the benchup-app library tests on this commit: all 27 project tests pass, and the branch adds no failures compared with main.
  • cargo check for wasm32-unknown-unknown is free of warnings.

Check the open project file about once a second while the app is idle.
A change is a different modification stamp and a different content hash,
so touching a file or rewriting identical bytes does nothing.

Clean projects reload and keep the current camera. Projects with unsaved
changes show a prompt to keep them or reload from disk. Reloads wait
until viewport gestures, modeling, text and rename edits finish, and a
reload does not reorder Recent Projects.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant